<?php

namespace app\common\model;

class SettingModel extends BaseModel
{
    // 设置表名
    protected $name = 'setting';

    // 短信配置
    const SMS      = [
        'sms_chuanglan_appkey',
        'sms_chuanglan_secret',
        'sms_type',
        'sms_verify_expire',
    ];
    const SYSTEM   = [
        'site_name',
    ];
    const SMS_TYPE = [
        ['value' => '\\chuanglan\\Chuanglan', 'text' => '创蓝短信'],
    ];

    public static function getConfigValue($code)
    {
        $res = [];
        if (is_array($code)) {
            $list = self::where('code', 'in', $code)->select();
            if ($list->isEmpty()) {
                return [];
            }
            foreach ($list as $v) {
                $res[$v['code']] = $v['value'];
            }
        } elseif (is_string($code)) {
            $info = self::where('code', $code)->find();
            if (empty($info)) {
                return '';
            }
            $res = $info['value'];
        }

        return $res;
    }

    public static function setConfigValue($code, $value = '')
    {
        if (is_array($code)) {
            foreach ($code as $k => $v) {
                self::setConfigValueSingle($k, $v);
            }
        } elseif (is_string($code)) {
            self::setConfigValueSingle($code, $value);
        }
    }

    public static function setConfigValueSingle($code, $value = '')
    {
        $info = self::where('code', $code)->find();
        if (empty($info)) {
            self::create(['code' => $code, 'value' => $value]);
        } else {
            $info->value = $value;
            $info->save();
        }
    }
}